# 1．创建学生类Person。（2分）
class Person(object):

    # 2．添加私有类属性：country，国籍，默认值为“中国“。（1分）
    country = '中国'

    # 3．添加私有类属性：nation，民族，默认值为“汉族“。（1分）
    nation = '汉族'

    # 4．添加构造方法，添加如下对象属性：（4分）
    # （1）name，保存学生姓名，默认值为空字符串。
    # （2）age，保存学生年龄，默认值为0.
    def __init__(self, name='', age=0):
        self.name = name
        self.age = age

    # 5．添加打印方法，将所有属性用格式化字符串组合成一个字符串后返回。（4分）
    # （1）格式如下：
    # 国籍：???
    # 民族：???
    # 姓名：???
    # 年龄：???
    # 出生日期：???
    def __str__(self):
        return f'''\
国籍：{self.country}
民族：{self.nation}
姓名：{self.name}
年龄：{self.age}
出生日期：???
'''

    # 6．添加setName方法，修改对象属性name。（2分）
    def setName(self, name):
        self.name = name

    # 7．添加getName方法，获得对象属性name的值。（2分）
    def getName(self):
        return self.name

    # 8．添加setAge方法，修改对象属性age。（2分）
    def setAge(self, age):
        self.age = age

    # 9．添加getAge方法，获得对象属性age得值。（2分）
    def getAge(self):
        return self.age

# 10．添加主程序入口，完成如下任务：
if '__main__' == __name__:

    # （1）创建一个对象，xiaoming;（1分）
    xiaoming = Person()

    # （2）修改对象的Name值为：小明；（2分）
    xiaoming.setName('小明')

    # （3）修改对象的Age值为：18；（2分）
    xiaoming.setAge(18)

    # （4）获得对象的name值，并显示到终端；（2分）
    print(f'对象的name值是{xiaoming.getName()}')

    # （5）获得对象的age值，并显示到终端；（2分）
    print(f'对象的age值是{xiaoming.getAge()}')

    # （6）调用对象的打印方法，输出信息；（1分）
    print(f'输出信息：\n{xiaoming!s}')
